// 导入API函数
import { getStudentCourseCheckinRecords } from '../../api/api';

Page({
    data: {
        courseId: null,
        course: {},
        checkinRecords: []
    },

    onLoad: function(options) {
        // 获取课程信息
        this.loadCourseInfo();
        this.loadCheckinRecords();
    },

    // 加载课程信息
    loadCourseInfo: function() {
        // 从courseInfo中获取课程信息
        const courseInfo = wx.getStorageSync("courseInfo");
        // 通过 course 的计算出 presentPercent latePercent absentPercent
        courseInfo.presentPercent = (courseInfo.attendedCount / courseInfo.totalCheckins) * 100;
        courseInfo.latePercent = (courseInfo.lateCount / courseInfo.totalCheckins) * 100;
        courseInfo.absentPercent = (courseInfo.absentCount / courseInfo.totalCheckins) * 100;

        this.setData({
            course: courseInfo,
        });
        
        // 设置页面标题为课程名称
        wx.setNavigationBarTitle({
            title: courseInfo.courseName,
        });
    },

    // 加载签到记录
    loadCheckinRecords: function() {
        // 从Storage中获取课程信息
        const course = this.data.course;
        if (!course || !course.id) {
            console.error('未获取到课程信息');
            return;
        }

        // 获取当前登录的学生信息
        const userInfo = wx.getStorageSync('userInfo');
        if (!userInfo || !userInfo.userId) {
            console.error('未获取到用户信息');
            return;
        }

        wx.showLoading({
            title: '加载签到记录...',
        });

        // 调用API获取学生在该课程下的签到记录
        getStudentCourseCheckinRecords(userInfo.userId, course.id)
            .then(res => {
                wx.hideLoading();
                if (res.data && Array.isArray(res.data)) {
                    this.setData({
                        checkinRecords: res.data
                    });
                } else {
                    this.setData({
                        checkinRecords: []
                    });
                    console.warn('未获取到签到记录或数据格式不正确');
                }
            })
            .catch(err => {
                wx.hideLoading();
                console.error('获取签到记录失败:', err);
                wx.showToast({
                    title: '获取签到记录失败',
                    icon: 'none'
                });
                // 设置空数组
                this.setData({
                    checkinRecords: []
                });
            });
    }
});